﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GCELibrary.Current;
namespace ZF.BLL.Page
{
    ///// <summary>
    ///// 权限页面，该页面必须具有相关的权限才可以访问
    ///// </summary>
    ///// <typeparam name="T"></typeparam>
    //public class RightPage<T> : MemberPage<T> where T : IUser
    //{
    //    private ModuleType? _moduleType = null;
    //    /// <summary>
    //    /// 当前页面对应的模块
    //    /// </summary>
    //    protected ModuleType ModuleType {
    //        get {
    //            if (_moduleType == null)
    //            {
    //                _moduleType = GetModuleType();//获取当前的模块类型
    //            }
    //            return (ModuleType)_moduleType;
    //        }
    //    }
    //    /// <summary>
    //    /// 获取当前页面配置的模块类型 
    //    /// </summary>
    //    /// <returns></returns>
    //    protected virtual ModuleType GetModuleType()
    //    {
    //        var type = this.GetType();
    //        var memberInfos= type.GetCustomAttributes(typeof(ModulePageAttribute), true);
    //        if (memberInfos.Length > 0)
    //        {
    //            return ((ModulePageAttribute)memberInfos[0]).ModuleType;
    //        }
    //        else
    //        {
    //            throw WarnFactory.CreateWarn("当前页面未配置模块类型,请与系统管理员联系");
    //        }
    //    }
    //    /// <summary>
    //    /// 重写安全证
    //    /// </summary>
    //    protected override void CheckSafe()
    //    {
    //        base.CheckSafe();
    //        CheckModuleRight(); 
    //    }
    //    /// <summary>
    //    /// 验证当前模块的权限
    //    /// </summary>
    //    protected virtual void CheckModuleRight()
    //    {
    //        //验证当前用户的模块权限
    //        bool result = ModuleRightConfig.CheckModuleRight(this.CurrentUser, this.ModuleType);
    //        if (!result)
    //            AlertOverRight();//显示越权信息
    //    }
    //}
    ///// <summary>
    ///// 系统管理页面基基类
    ///// </summary>
    //public class SysPage : RightPage<SysUser>
    //{
    //}
    ///// <summary>
    ///// 监控页面基类
    ///// </summary>
    //public class MonitorPage : RightPage<MonitorUser>
    //{
    //    protected override void AlertTimeOut()
    //    { 
    //        //自动
    //        var doLoginPage = SiteInfo.SystemConfig.NetMonitorLoginPage;
    //        this.WarnFactory.CreateWarn(new PageWarnParameter()
    //        {
    //            Link = WarnLink.GoLogin,
    //            DoPage = doLoginPage,
    //            Icon = WarnIcon.Stop,
    //            WarnCode = (int)WarnCode.LoginTimeOut,
    //        }).Alert();
    //    }
    //}
}
